#ifndef ZIGBEEGWPROTOCOL_H
#define ZIGBEEGWPROTOCOL_H

#include <QObject>
#include "Protocol/BaseProtocol.h"
#include "DataType/DataType.h"

class ZigbeeGWProtocol  : public BaseProtocol
{
    Q_OBJECT
public:
    explicit ZigbeeGWProtocol(QObject *parent = 0);
    QList<Package> parseData(QByteArray data);
    QByteArray generateData(Package package);

    enum FunctionCode
    {
        Devicejoin=0x004D,
        DeviceQuit=0x8026,
        SecurityInformation=0x8401,
        InfraredData=0x8ff1,

    };


private:
    enum CheckSteps
    {
        CHECK_HEAD,
        CHECK_VERSION,
        CHECK_SEQ,
        CHECK_Type,
        CHECK_LENGTH,
        ChECK_RESERVED,
        CHECK_FUNCTION,
        CHECK_BODY,
        CHECK_CHECKCODE,
    };

};






#endif // ZIGBEEGW_H
